/*
 * GL.h
 *
 *  Created on: Feb 11, 2011
 *      Author: alki
 */

#ifndef GL_H_
#define GL_H_

#include <GL/gl.h>
#include <GL/glu.h>

#include "objekte/Objekt.h"

/**
 * Klasse GL: kümmert sich um Initialisierung und Verwaltung von OpenGL
 */
class GL {
public:
	GL();
	virtual ~GL();

	void SetResolution(int width,int height);

	void TestDraw();

	void DrawObject(Objekt *obj,const MaterialManager &matman);
	void DrawPoint(int x,int y,float r,float g,float b);
	void DrawLine(float x1,float y1,float z1,float x2,float y2,float z2,float r,float g,float b);
	void DrawRay(Gerade *ray);

	void BeginDraw();
	void BeginPoints();
	void EndDraw();
	void EndPoints();

private:
	int m_width;
	int m_height;
};

#endif /* GL_H_ */
